#ifndef ZPH_H
#define ZPH_H

// 格式指令开始符
constexpr char FS[] = "^";
// ^XA indicates start of label format.
constexpr char FS_XA[] = "^XA";
// ^XZ indicates end of label format.
constexpr char FS_XZ[] = "^XZ";
// example: ^LH30,30 
// ^LH30,30 sets label home position 30 dots to the right and 30 dots down from 
// the top edge of the label.
constexpr char FS_LH[] = "^LH";
// example: ^FO20,10^AD^FDZEBRA^FS 
// ^FO20,10 sets the field origin 20 dots to the right and 10 dots down from the home
// position defined ty the ^LH command.
// ^AD Select font "D".
// ^FD Start of field data.
// ZEBRA Actual field data.
// ^FS End of field data.
constexpr char FC_FO[] = "^FO";

// font default 
/*
Command             Details
f = font name       Accepted Values: A through Z, and 0 to 9
                    Any font in the printer(downlaoded, EPROM, stored fonts,
                    fonts A through Z and 0 to 9.)
o = filed orientation   Acctiped Values:
                            N = normal
                            R = rotated 90 degrees(clockwise)
                            I = inverted 180 degrees
                            B = read from bottom up, 270 degrees
                        Default Value: the last accepted ^FW value or the ^FW default
h = Character Height    Scalable
    (in dots)               Accepted Values: 10 to 32000
                            Default Value: last accepted ^CF
                        Bitmapped
                            Accepted Values: multiples of height form 1 to 10 times the
                            standard height, in increments of 1
                            Default Value: last accepted ^CF
w = width (in dots)     Scalable
                            Accepted Values: 10 to 32000
                            Default Value: last accepted ^CF
                        Bitmapped
                            Accepted Values: multiples of width from 1 to 10 times the
                            standard width, in increments of 1
                            Default Value: last accepted ^CF
*/
constexpr char FC_A[] = "^A";
// 条码
constexpr char FC_B[] = "^B";
// 序列号
constexpr char FC_SN[] = "^SN";
constexpr char FC_PQ[] = "^PQ";

// 域开始
constexpr char FC_FD[] = "^FD";
// 各个域之间以^FS进行分割
constexpr char FC_FS[] = "^FS";

// 设置每毫米点数(取决打印头); ^JMA
constexpr char FC_JM[] = "^JM";
// 设置标签长度,单位像素点
// Format: ^LL180
constexpr char FC_LL[] = "^LL";
// 设置标签宽度,单位像素点
// Format: ^PW660
constexpr char FC_PW[] = "^PW";
// 设置标签深度; ^MD10
constexpr char FC_MD[] = "^MD";
// 设置打印速度; ^PR2
constexpr char FC_PR[] = "^PR";
// 设置打印方向; ^PON or ^POY
constexpr char FC_PO[] = "^PO";
// 设置标签反转; ^LRN or ^LRY
constexpr char FC_LR[] = "^LR";
// 设置标签起点; ^LH10,0
constexpr char FC_LH[] = "^LH";

// 反色
// note: Label Reverse Print 
constexpr char FC_LR[] = "^LR";
// 图形区域
// Format: ^GBw,h,t,c,r
constexpr char FC_GB[] = "^GB";

// 控制指令开始符
constexpr char ControlCommandStart[] = "~";


#endif // ZPH_H